﻿using Autodesk.AutoCAD.DatabaseServices;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CADTool.DotNetARX
{
    public static class DimStyleTools
    {
        public static ObjectId AddDimStyle(this Database db, string styleName)
        {
            //打开标注样式表
            DimStyleTable dst = (DimStyleTable)db.DimStyleTableId.GetObject(OpenMode.ForRead);
            //如果不存在名为styleName的标注样式,则新建标注样式
            if (!dst.Has(styleName))
            {
                //定义一个新的标注样式表记录
                DimStyleTableRecord dstr=new DimStyleTableRecord();              
                dstr.Name = styleName;  //设置标注样式名
                dst.UpgradeOpen();     //切换标注样式表的状态为可写以添加新的标注样式
                dst.Add(dstr);          //将标注样式表记录的信息添加到标注样式表中
                //把标注样式表记录添加到事务处理中
                db.TransactionManager.AddNewlyCreatedDBObject(dstr,true);
                dst.DowngradeOpen();  //为了安全，将标注样式表的状态切换为读
            }
            return dst[styleName]; //返回新添加的标注样式表记录

        }
    }
}
